此函数将创建一个“空”相机,即:未定义视图或投影设置的相机。你创建了相机后,你就可以用不同的 矩阵函数 来设置视野和投影矩阵。你也可以用此函数创建相机,然后使用不同的 camera_set_* 函数来设置视野。注意你 必须 提供至少一个位置和视野大小,否则将会导致相机不可用,并在应用可视区域时,给出奇怪的结果。但如果你没有设置物体跟随,边界和移动速度,这些将被在房间编辑器中的相机设为默认值。
注意相机像所有动态资源一样,在创建时会占用一定的内存。这意味着你不能创建那些不必要的相机,而且需要通过 camera_destroy()函数来销毁那些不再需要的相机。这意味着如果你将相机赋给一个 全局 变量,那么它将会在不同的房间中持续存在。如果它被分配给一个临时局部变量,那么它将只会在指定的那个房间存在。因此你可以利用这个特性来创建一个新相机,将它分配给一个全局变量,然后在每个房间的开始设置所需的视野和投影矩阵,以及需要的可视区域。.
camera_create();
实数(相机的独特ID值)
view_camera[0] = camera_create();
var viewmat = matrix_build_lookat(640, 240, -10, 640, 240, 0, 0, 1,
0);
var projmat = matrix_build_projection_ortho(640, 480, 1.0,
32000.0);
camera_set_view_mat(view_camera[0], viewmat);
camera_set_proj_mat(view_camera[0], projmat);
上述代码创建一个相机并将它的ID值赋给view[0]。然后创建视野投影矩阵并将它们存储在局部变量中,然后将这些设置应用于相机。